iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
自我挑戰組

50後阿嬤教你寫程式!系列 第 6

Day 06 阿嬤會做循環喔!(上)

  • 分享至 

  • xImage
  •  

Day 06 阿嬤會做循環喔!(上)

嗨嘍我們又再次相遇。

循環與語法大致相同?!

上一章介紹過,如果條件為真的話,條件語法允許執行一段程式碼一次。而迴圈就是,若一個條件為真的話,條件就會允許執行這串程式碼,並且重複好多次。例如:若你吃飯的時候,弄髒了衣服,你就必須得一直擦,直到擦乾淨的時候;當你睡不著的時候,你可能就會數羊,數到自己睡著為止。

While 迴圈

While迴圈,不管是對工程師、初學者,都是最簡單的迴圈類型。Whlie迴圈會一直不停的循環,直到特定條件不再為真時,它才肯停下來。你可以試著這樣理解:如果這個條件為真時,While迴圈就會一直循環這個主體,直到條件為假時,它才會停下來。或許你也可以理解成高級版的if語法,但是與While迴圈不同的是,當if語法執行完主體時,就不會再次運行此主體(除非你讓他在跑一次)但While迴圈不是;當帳串程式碼的條件為真的話,他就會執行此主體,然後再次檢查,這次的條件是否為真,若一直為真,它就會一直跑,相反,若條件為假,那麼這串程式碼就會停止運行。

用 While 迴圈數書本

假設你準備要搬家,但是書太多,不可能全部搬去新家,你得先數出有多少書才可以整理嘛,但你又懶得數書,此時,你突然想起你是工程師,為什麼不讓電腦幫你數書呢?

var CountedBook = 0;
while (CountedBook < 50) {
  console.log("我有" + CountedBook + "本書");
    CountedBook++;
}
console.log("哈哈我有50本書呀");

你創造了一個名為 CountedBook 的變數,並且你把它的值設成 0 。當到達While迴圈。當到達While迴圈時,電腦會查看的值是否超越 50 。因為 0 < 50 ,執行花括號內的程式碼(也就是此循環的主體)。接下來, CountedBook++ 會一直 CountedBook 的值加上1,然後回到循環的位置,一次又一次。


"我有0本書"
"我有1本書"
"我有2本書"
"我有3本書"
"我有4本書"
"我有5本書"
"我有6本書"
"我有7本書"
"我有8本書"
"我有9本書"
"我有10本書"
...
"哈哈我有50本書呀"


電腦就會一直循環,直到 CountedBook 的值大於 50 後,電腦才會停止運行。

無限循環

當你使用迴圈的時候,請切記這一點:我們在寫迴圈程式碼時,有可能會忘記一些程式碼,忘記最多的,我想應該就是CountedBook++忘了加,倘若你忘了加此程式碼,那電腦就會不停的執行這串程式碼的主體,永不停止,直到世界末日都不可能結束(除非你重新開啟此網頁)無限迴圈就會向下例持續輸出:


"我有0本書"
"我有0本書"
"我有0本書"
"我有0本書"
"我有0本書"
...


因為沒有條件可以讓電腦停止,所以程式會一直執行此主體,這就叫做無限迴圈(infinite loop)

小總結

今天我們知道了最基礎的 while 迴圈,下一章我們會教進階版的 For 迴圈(應該可以這樣講喔啾咪)簡單來講就是把迴圈的程式碼簡化了(應該吧我個人覺得喔啾咪)那就明天見嘍拜拜!


上一篇
Day 05 阿嬤有更多的選擇!
下一篇
Day 07 阿嬤會做循環喔!(中)
系列文
50後阿嬤教你寫程式!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言